from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from backend.app.app.db.base import db_engine

# 创建对象的基类:
Base = declarative_base()

# 初始化数据库连接:
engine = create_engine(db_engine.format("owstimvaldbsys"),
                       # 'mysql+pymysql://root:mysqlUSE80.@localhost:3306/owstimvaldbsys?charset=utf8',
                       max_overflow=10,  # 超过连接池大小外最多创建的连接
                       pool_size=50,  # 连接池大小
                       pool_timeout=30,  # 池中没有线程最多等待的时间，否则报错
                       pool_recycle=-1  # 多久之后对线程池中的线程进行一次连接的回收（重置）,-1代表永不回收
                       )
# 创建DBSession类型:
DBSession = sessionmaker(bind=engine)

# 创建session对象:
session = DBSession()